Repository navigation
White label пилот: регистрация, веса и общий рейтинг - #861
Open
TThanos3000 wants to merge 23 commits into
Open
TThanos3000 wants to merge 23 commits into
TThanos3000 wants to merge 23 commits into
Conversation
15 of 16 tasks
TThanos3000
marked this pull request as ready for review
November 10, 2026 18:26
12 tasks done
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что изменено
Изолированный white label поддерживает бренд клиента, короткую регистрацию по почте/паролю, участие после подтверждения, приглашение по полной почте и процентные веса критериев кейса. Добавлена серверная часть общего командного рейтинга: кейс из 100 + квиз из 100 = итог из 200, без коэффициентов этапов.
Общий рейтинг установлен на https://pilot.procollab.ru и принят по HTTPS/API и в браузере 13 ноября: runtime 3c21fbc, Angular 3241381e, tooling 7a8e6c6. Владелец выполнил SSH check/apply/status, отдельная проверка подтвердила работу UI/API/admin и сохранность данных. Сам квиз остается отдельной задачей после согласования его дизайна.
Зачем
Подготовить кейс-чемпионат с единым итогом команды и сохранить данные существующего пилота, dev и prod. Spec и O01–O11, white label, веса W01–W10. Связанный Angular: PROCOLLAB-github/procollab#540. Общая функция весов отдельно выделена в API #862 / Angular #541.
Реализация
API
Добавлены GET /programs/{id}/management/overall-results/ и /export/: максимумы 100/100/200, готовность этапов, баллы, глобальное место, статусы ожидания, счетчик экспертов, поиск/кейс/статус/порядок и scope экспорта. Только конкурсный legacy_project; ProgramSolution и неконкурсные программы получают 409. Ответ не содержит почт экспертов или ID попытки, private/no-store.
Существующие URL, оценочные payload и case results сохраняются. Ранее добавленные scoring_mode/weight_percent/contributions и C00 1.22.0 не меняются этим дополнением.
UI
Согласованный экран реализован в Angular #540 (3241381e): отдельный пункт оценивания, server-owned баллы/места, ожидание, поиск/статус в URL, Excel и responsive состояния. 108 профильных tests, 72 повторные component/management проверки, pilot/production builds и 13 настоящих локальных browser сценариев прошли. O11 PASS. Старые case results сохраняются, экран квиза не меняется.
В Django admin доступны тот же рейтинг/фильтры/Excel и readonly результат квиза. Новые тестовые данные на живом пилоте не создавались.
Permissions
Сервер проверяет manager своей программы либо staff; admin дополнительно требует модельные права. Участник, эксперт, гость и чужой manager не получают общий рейтинг/export. Нет POST/PUT для записи баллов, admin не разрешает добавлять/менять/удалять итог квиза.
Проверки
Acceptance criteria
Не проверено
Настоящий квиз и завершенные боевые итоги на пилоте, dev/prod deployment, native Excel пересчет, SMTP, нагрузка 100 участников и приемка клиента. На живом пилоте не создавались тестовые результаты и не менялись критерии. Демо-почта остается локальной. Скриншоты и QA credentials не входят в Git.
Риски / migration
Полный новый pilot package закреплен на проверенном Angular 3241381ea2d2ba9fc9bc5139df543c7a0730814c. Package unit tests прошли. Этот pin не является обновлением действующего стенда.
Для общего рейтинга: совместимый backend → добавочная partner_programs 0045 → согласованный Angular. Живой пилот обновлен с source 7657082/auth UI 75f41a5d на runtime 3c21fbc/Angular 3241381e. Исторический upgrade_weights.py разрешает только две миграции весов и для нового рейтинга не подходит. Отдельный проверенный пакет/rollback подготовлен в tooling 7a8e6c6: runtime 3c21fbc + Angular 3241381e, строгая база 7657082/75f41a5. SSH check/apply/status выполнил владелец; агент подтвердил опубликованные HTTPS UI/API и cleanup. Доступа SSH из Cloud не использовалось. Новую таблицу при откате приложения сохраняют; автоматического pg_restore или удаления данных нет.
Foundation/веса требуют своих двух добавочных миграций и явного выбора критериев до первой оценки. Этот PR не выполняет merge или установку на dev/prod. Сервер, пользовательский экран и пилотный installer готовы к review в dev с соблюдением порядка установки; ни dev, ни prod этим PR не обновлялись. Пилот принят в текущей конфигурации. В программе пока только текстовый «Комментарий» и legacy: UI корректно предлагает числовые критерии с весами 100% и отключает Angular Excel, API/admin оставляют отсутствующие итоги/места пустыми. Для рабочего подсчета нужны согласованные критерии/веса и настоящий квиз; настройки не менялись.